/*
    题目信息：编程找出 1000 以内的所有完数并打印出来
 */

public class FindPerfectNum {
    public static void main(String[] args) {
        // 1. 循环得到2 ～ 1000 的int类型的数字，1不算完数，所以忽略
        for(int i = 2; i <= 1000; i++) {
            // 2. 每个数默认约数为1， 所以sum的初始值为1
            int sum = 1;
            // 3. 计算当前数的所有约数之和
            for(int j = 2; j <= i/2 ; j++) {
                if(0 == i % j) {
                    sum += j;
                }
            }
            // 4. 判断约数只和是否为当前数，是则打印
            if(i == sum) {
                System.out.println(i);
            }
        }
    }
}
